home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / prog / spy_trak.arj / SPY.DOC < prev    next >
Text File  |  1993-08-16  |  15KB  |  320 lines

  1. 1.0  A FEW WORDS ABOUT SPY-TRAK:
  2.      SPY-TRAK is a disassembling and debugging tool for executable 
  3.      .EXE and  .COM  programs.
  4.      There is   a few   products on the market used for   dis-
  5.      assembling.    Most of them do a job that may be termed as
  6.      examination of a program's dead body. They dissect programs
  7.      while these programs don't do anything.   No data is input
  8.      from the command line.  Neither, there is an input of data
  9.      during these programs execution.  On few occasions we even
  10.      don't know if the code we got from such disassembling
  11.      actually is the one used by the program during its
  12.      execution. A program can have a self modifying capability,
  13.      such as for example packed files,  which may be hard to reveal
  14.      by this "dead body" disassembling.
  15.      SPY-TRAK is unique because it does the disassembling during
  16.      the program execution. It tracks, step by step, each operation
  17.      performed by the program, recording the status  of its
  18.      registers, flags and finally instructions, unassembled into
  19.      opcode.
  20.      The SPY-TRAK package generates 2 output programs:
  21.      1.   $filename.TRC, which very much resembles a product of
  22.           DEBUG Trace Command. Except that $filename.TRC     is
  23.           documenting the actual execution of filename[.ext].
  24.      2.   $filename.LST is a list file of the executed program
  25.           tracked part of the code.   $filename.LST provides a
  26.           brief synopsis of the tracked code.          Tracked
  27.           segments (CS) are   listed  in the ascending    order 
  28.           of CS values.
  29.      Tracking and generating the listing file is controlled from
  30.      a user friendly shell program - SpyTrak.exe. More on SpyTrak
  31.      menus is given in p. 1.4 and 1.5.
  32.      SPY-TRAK disassembles most applications designed to operate
  33.      in real-time on 16-bit registers. To operate, it requires
  34.      a hard disk and DOS 3.10 or later.
  35.      The current shareware copy of SPY-TRAK is limited to
  36.      processing programs no bigger than 1200 bytes.  Licensed
  37.      up-grades of SPY-TRAK can track programs of any size.
  38.  
  39. 1.1  LIST OF PROGRAMS AND FILES MAKING SPY-TRAK PACKAGE:
  40.      SpyTrak.exe  -   the shell program;
  41.      SB1992.COM   -   never change name of this program!
  42.      SPY.COM      -   neither change name of this program!
  43.      SORT.EXE     -   leave this name unchanged too!
  44.      LIST.COM     -   Vernon D. Buerg's text viewing program;
  45.      SZCZOTA.COM    
  46.      CROSS.COM    -   SPY-TRAK to SOURCER cross-referencing
  47.                                                     utility;
  48.      KORVIN.BAT   -   to get Main Menu on the screen;
  49.      SPYDOC.BAT   -   it calls-out LIST.COM and SPY.DOC;
  50.      CROSSUSG.BAT -   to get USAGE Info on CROSS.COM;
  51.      SPY.DOC      -   documentation file;
  52.      CROSS.DOC    -   documentation file;
  53.      MAINMANU.TXT -   Menu file.
  54.  
  55.  
  56. 1.2  PRE-INSTALLATION NOTE:
  57.      SPY-TRAK has been designed as a TSR program. Therefore, to
  58.      avoid potential conflict, do not install it while other TSRs
  59.      are running. Do not install SPY-TRAK using DOS Shells ! Do
  60.      it directly from DOS instead.
  61.      SpyTrak program, and the SPY-TRAK main tracking module, need
  62.      a number of file handles to operate.    Therefore, to track
  63.      some programs that open many files at a time, you may have
  64.      to increase the limit set on open files in your computer
  65.      system. In case of problems check FILES directive in your
  66.      CONFIG.SYS !
  67.  
  68. 1.3  HOW TO RUN SPY-TRAK:
  69.      On your hard disk create  SPYDIR  directory  -  this is your
  70.      default directory. Load  all executable SPY-TRAK files in
  71.      this directory.                Run SpyTrak.exe SHELL
  72.      program.
  73.      Programs which you want to disassemble, can be called from
  74.      any place in your subdirectory system, provided the drive
  75.      and path for the program are  defined.  If no drive and path
  76.      is given, SPY-TRAK  will look for the program in the default
  77.      directory.
  78.      SPY-TRAK output is written to the default directory.
  79.      You can review the output file using Vernon D. Buerg's 
  80.      LIST.COM program, inclosed. To use LIST.COM type:
  81.                LIST [$filename.TRC], for track file
  82.           or,  LIST [$filename.LST]  for list file.
  83.  
  84.      While tracking be aware of your hard disk storage
  85.      limitations. The $filename.TRC may quickly reach quite
  86.      sizable proportions.
  87.      For  assessing   your   hard  disk  storage  needs,  you
  88.      can take a divisor  of  8 when    assessing  the size of
  89.      $filename.LST against $filename.TRC. However, in the end,
  90.      the code listing file size depends od the tracked program
  91.      structure.
  92.  
  93. 1.4  ON SPY-TRAK MENU:
  94.      The front page menu is providing the following options:
  95.  
  96.  
  97.                      Track program...........1
  98.                      Create list file........2
  99.                      Setup menu..............3
  100.                      Exit to DOS...........ESC
  101.  
  102.                            ┌────────┐
  103.                            │ Select │
  104.                            │ Option │
  105.                            │   ┌┐   │
  106.                            │   └┘   │
  107.                            └────────┘
  108.  
  109. ┌───────────┐ ┌────────────┐
  110. │EXEC CODE 0│ │LOOPS CLOSED│
  111. └───────────┘ └────────────┘
  112. 1.4.1 TRACK PROGRAM selection:
  113.  
  114.      The edit line data shall be input as follows:
  115.                            ┌───────────────────┐
  116.     ───────────────────────┘  Track a program  └────────────────
  117.  
  118.      Track filespec: filename[.ext] [parameters]
  119.     ────────────────────────────────────────────────────────────
  120.      "Hot Start" means start tracking from your program`s first
  121.      instruction. Default is [Y].
  122.      "Single Step" - use this option if the  tested  program is
  123.      crushing your computer system. You will have records of the
  124.      last performed instruction. Default for this mode is [N].
  125.      Single step mode    will result in slowing down the tracking
  126.      process. But it may become, for some, a last resort to find
  127.      out why the system  keeps crushing.
  128.  
  129. 1.4.2 CREATE LIST FILE selection:
  130.                            ┌───────────────────┐
  131.     ───────────────────────┘ Create list file  └────────────────
  132.  
  133.      Track filename:  $filename.TRC
  134.     ────────────────────────────────────────────────────────────
  135.  
  136.      SpyTrak.exe is equipped with an error detection system.
  137.      It will intervene with ERROR message to most of false steps
  138.      taken by the SPY-TRAK user.
  139.  
  140. 1.4.3 SETUP MENU selection:
  141.  
  142.      This selection allows to change 2 parameters controlling
  143.      the tracking process.
  144.      1.   EXEC level 
  145.      2.   Loops handling mode.
  146.      The current parameter values are given in the 2 boxes provided
  147.      at the screen bottom. Defaults are EXEC LEVEL=0 and LOOPS
  148.      CLOSED.
  149.      EXEC LEVEL > 0 allows to access for tracking a program called
  150.      by DOS function ah=4Bh (EXECUTE or MAKE OVERLAY). The depth
  151.      of accessing a subsequent child process can be defined from
  152.      1 through (hex) F.
  153.      LOOPS can be processed as they are performed, and that may
  154.      mean spending a lot of time by SPY-TRAK to record all this
  155.      looping.      It makes also more difficult for the user to
  156.      follow such full loop records loaded in .TRC file.
  157.      Using option LOOP CLOSED provides full information on the
  158.      registers status before the loop is entered. The first loop
  159.      lap is fully recorded but then the tracking program stops
  160.      to wait for the first instruction after the program left
  161.      the loop.
  162.  
  163. 1.5  ABOUT ALT HOT KEY COMBO  APPLICATION:
  164.      The tracking process is switched ON/OFF by application
  165.      of the hot key combination.
  166.      The default Hot Key combination is <Alt T>. If for some
  167.      reason you want to use a different combination, the 
  168.      redefinition should be made in response to the menu 
  169.      questions.
  170.      In "Hot Start" [Y] mode the hot key combo serves  to  STOP
  171.      tracking. In "Hot Start" [N] mode the hot key is used both
  172.      for START and STOP of tracking.
  173.      NOTE:     Once you stopped tracking using Hot Key, you can
  174.                not restart tracking by repeated application of
  175.                the Hot Key.
  176.  
  177. 1.6  ABOUT SPY-TRAK HANDLING OF INTERRUPTS:
  178.      Interrupts are not entered by SPY-TRAK, except DOS function
  179.      4Bh if EXEC LEVEL parameter was setup for a value greater
  180.      than 0.
  181.      Interrupts such as 20h, 27h, 31h and DOS function AH=4Ch   
  182.      end  the tracking process.
  183.      An address checking mechanism is built in SPY-TRAK.    It
  184.      allows to limit the recording only to operations performed
  185.      by the tracked program.
  186.      The user may be occasionally baffled by the presence of
  187.      INT 20h  at IP=0000, as the last operation registered by
  188.      SPY-TRAK, when tracking a .COM program. It happens if the
  189.      .COM program is returning to DOS via its PSP interrupt.
  190.      It is because SPY-TRAK is recording any operation performed
  191.      by the program within the memory limits assigned to it,
  192.      including the PSP.
  193.  
  194. 2.0  ON SUPPORT AND FUTURE UP-GRADES:
  195.      If you have any questions, you can contact Korvin Comm. by
  196.      CompuServe, addressing your mail to BOX#
  197.             76356,2033
  198.           or FAX to (310) 424 6823.
  199.      New features  will  be  provided  at a  nominal  cost of
  200.      shipping and handling to legal owners of SPY-TRAK.
  201.      We will keep you posted on these up-grades.
  202.      WE CAN ALSO CUSTOMIZE SPY-TRAK TO MEET YOUR SPECIFIC NEEDS.
  203.      CONSULTING IS AVAILABLE.
  204.  
  205.  
  206. 3.0  USEFUL REFERENCES:
  207.      * 80386 ASSEMBLY LANGUAGE by Penn Brumm and Don Brumm, TAB
  208.      Professional and Reference Books, 1988.       I found this
  209.      book very useful in my decoding of the 80386 instruction
  210.      set. It is not, however, flawless since I found several 
  211.      bugs in some opcodes.      It is not either complete but 
  212.      explanatory enough to find ways to decode some   missing
  213.      instructions on one's own.
  214.      * SYSTEM BIOS FOR IBM PC/XT/AT COMPUTERS AND COMPATIBLES,
  215.      Phoenics Technical Reference Series, Addison-Wesley
  216.      Publishing Company, 1989.                 This book helps
  217.      get the very inside information about your PC internals.
  218.      It is because of the information provided by this book I
  219.      was able to create a simple subroutine for SPY-TRAK,
  220.      protecting the hot-key from getting stuck "until re-booting
  221.      makes us part".
  222.      * 8088 MACRO ASSEMBLER PROGRAMMING by Dan Rollins, Macmillan
  223.      Publishing Company, 1985.                     This seemingly
  224.      obsolete book provides in very simple terms the clearest
  225.      information on such programming features as Program Segment
  226.      Prefix (PSP) and File Control Block (FCB).
  227.      * USING ASSEMBLY LANGUAGE by Allen L. Wyatt, Sr., Que,1992.
  228.      It is the best reference to DOS interrupts.     One should
  229.      beware, however, of repeating blindly the functions SYNTAX.
  230.      Some provided SYNTAX is good only for .COM programs.
  231.      * PC POWER TOOLS by Paul Sommerson, PC Magazine, 1988.
  232.      Features over 200 utilities for DOS versions 2.0 through
  233.      4.0. A disk is included and makes it the best source book on
  234.      a variety of programming tricks.          SPY-TRAK can help
  235.      understand many of them.
  236.  
  237.  
  238.  
  239. 4.0                           LICENSE
  240.      To acquire a licensed copy of SPY-TRAK, please send check for
  241.      $29.50 + $5.50 S.H. in U.S.  Money orders are required for
  242.      shipping outside United States. Shipping and handling for
  243.      overseas buyers is $7.00. Checks and money orders shall be
  244.      sent to KORVIN COMMUNICATIONS CO. 4067 Hardwick St. #306-H,
  245.      Lakewood, CA 90712.
  246.  
  247.      SPY-TRAK is copyright (c) 1992,93 by KORVIN COMMUNICATIONS CO.
  248.  
  249.      To contact KORVIN COMMUNICATIONS  for  information   about
  250.      dealer pricing, volume discounts, site licensing, the status
  251.      of shipment of the product , the latest version number or
  252.      for technical information, or to  discuss returns, use
  253.      CompuServe Electronic Mail address:
  254.             76356,2033
  255.           or FAX to (310) 424 6823,
  256.      or write to
  257.  
  258.              ╔═════════════════════════════════════╗
  259.              ║      KORVIN COMMUNICATIONS CO.      ║
  260.              ║                                     ║
  261.              ║      4067 Hardwick St.  #306-H      ║
  262.              ║      Lakewood,        CA 90712      ║
  263.              ╚═════════════════════════════════════╝
  264.  
  265.  
  266.      Use of non-licensed copies of  SPY-TRAK  by   any   person,
  267.      business, corporation, governmental agency or other entity
  268.      is strictly prohibited. 
  269.      User is licensed to use SPY-TRAK only on a single computer
  270.      at the same time. 
  271.      No user may modify SPY-TRAK in any way, including but not
  272.      limited to decompiling, disassembling or otherwise reverse
  273.      engineering the program.  
  274.      SPY-TRAK  may  not  be  resold.  No fee,   charge or other
  275.      compensation may be accepted or requested by any licensee. 
  276.      SPY-TRAK may not be distributed in  conjunction  with  any
  277.      other  product  without  a  specific license to do so from
  278.      KORVIN COMMUNICATIONS CO. 
  279.  
  280.  
  281. 5.0                           WARRANTY
  282.  
  283.  
  284.      KORVIN warrants that all  disks   provided  constitute  an
  285.      accurate duplication of the software  product  and  KORVIN
  286.      will replace any disks found to be defective within 30 days
  287.      from date of purchase. 
  288.      KORVIN will not honor this warranty where the product has
  289.      been subjected to physical abuse, or used in defective or
  290.      non-compatible equipment. 
  291.      KORVIN warrants that the program will perform in substantial
  292.      compliance with the documentation supplied with the software
  293.      product. 
  294.      If a significant defect in the product is found,   licensed
  295.      Purchaser will be entitled to a refund.    In no event will
  296.      such a refund  exceed the purchase price of the product. 
  297.    ┌────────────────────────────────────────────────────────────┐
  298.    │ All disk replacements  and  refunds  shall  be   negotiated│
  299.    │ directly with KORVIN COMMUNICATIONS CO. Shareware retailers│
  300.    │ distributing shareware  copies  of   SPY-TRAK have not been│
  301.    │ authorized to process returns of licensed copies.          │
  302.    └────────────────────────────────────────────────────────────┘
  303.      EXCEPT AS PROVIDED ABOVE, KORVIN COMMUNICATIONS DISCLAIMS
  304.      ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT
  305.      LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  306.      FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE PRODUCT. 
  307.      SHOULD THE PROGRAM PROVE TO BE DEFECTIVE, THE PURCHASER 
  308.      ASSUMES THE RISK OF PAYING THE ENTIRE COST OF ALL NECESSARY
  309.      SERVICING, REPAIR, OR CORRECTION AND ANY INCIDENTAL OR
  310.      CONSEQUENTIAL DAMAGES.  IN NO EVENT WILL KORVIN BE LIABLE
  311.      FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION
  312.      DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION,
  313.      LOSS OF BUSINESS INFORMATION AND THE LIKE) ARISING OUT OF
  314.      THE USE OF OR INABILITY TO USE THIS PRODUCT EVEN IF 
  315.      KORVIN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  316.  
  317.      Use of this software product for any period of time
  318.      constitutes your assumed acceptance of this agreement and
  319.      subjects you to it's contents.
  320.